package com.corpgovernment.organization.entity.db;

import com.corpgovernment.common.annotation.OperateLogFieldDesc;
import com.corpgovernment.common.entity.db.BaseEntity;
import com.corpgovernment.common.enums.DeleteStatusEnum;
import com.corpgovernment.common.enums.DeliveryTypeEnum;
import com.corpgovernment.organization.enumm.ProductTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;


/**
 * 快递地址表
 **/
@Data
@EqualsAndHashCode(callSuper = true)
public class ExpressAddressOld extends BaseEntity {

    /**
     * 主键
     **/
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @OperateLogFieldDesc(value = "主键")
    private Long id;

    /**
     * 组织架构
     **/
    @OperateLogFieldDesc(value = "组织架构")
    private String orgId;

    /**
     * 员工id
     **/
    @OperateLogFieldDesc(value = "员工id")
    private String uid;

    /**
     * 产品类型  机票flight 火车票train
     **/
    @OperateLogFieldDesc(value = "主键",type = ProductTypeEnum.class)
    private String productType;

    /**
     * 省
     */
    @OperateLogFieldDesc(value = "省")
    private String province;

    @OperateLogFieldDesc(value = "省名")
    private String provinceName;

    /**
     * 市
     **/
    @OperateLogFieldDesc(value = "市")
    private String city;
    @OperateLogFieldDesc(value = "市名")
    private String cityName;

    /**
     * 区
     **/
    @OperateLogFieldDesc(value = "区")
    private String district;
    @OperateLogFieldDesc(value = "区名")
    private String districtName;

    /**
     * 地址
     **/
    @OperateLogFieldDesc(value = "地址")
    private String address;

    /**
     * 行程单配送方式  CJS定期配送 PJS快递
     **/
    @OperateLogFieldDesc(value = "行程单配送方式", type = DeliveryTypeEnum.class)
    private String deliveryType;

    /**
     * 收件人姓名
     **/
    @OperateLogFieldDesc(value = "收件人姓名")
    private String recipientName;

    /**
     * 收件人手机
     **/
    @OperateLogFieldDesc(value = "收件人手机")
    private String recipientMobilePhone;

    /**
     * 邮编
     **/
    @OperateLogFieldDesc(value = "邮编")
    private String postCode;

    /**
     * 删除状态 0:未删除 1:删除 默认是0
     **/
    @OperateLogFieldDesc(value = "删除状态", type = DeleteStatusEnum.class)
    private Integer isDeleted;


    private Boolean defaultAddress;

    /**
     * 创建时间
     **/
    private java.util.Date datachangeCreatetime;

    /**
     * 最后更新时间
     **/
    private java.util.Date datachangeLasttime;

    /**
     * 是否默认
     */
    private Integer isDefault;

    /**
     * 是否为企业地址0：是 1否
     */
    private Integer isCorporation;

    /**
     * 手机区号
     */

    private String countryCode;
}
